Adjusting prominence of a participant profile in a social networking interface

ABSTRACT

An approach is described for adjusting prominence of a participant profile in a social networking interface. An associated method may include receiving an activity stream update of the participant and calculating a relevancy score based on content in the activity stream update. The method further may include adjusting a visibility level of the participant profile in the social networking interface based upon the calculated relevancy score. Adjusting the visibility level may include increasing the visibility level of the participant profile upon determining that the calculated relevancy score is greater than or equal to a first predefined threshold value. Adjusting the visibility level further may include decreasing the visibility level of the participant profile upon determining that the calculated relevancy score is less than a second predefined threshold value.

BACKGROUND

The various embodiments described herein generally relate to socialnetworking applications. More specifically, the various embodimentsdescribe techniques of adjusting prominence of a participant profile ina social networking interface.

Social networking applications often include large networks ofparticipants. For instance, numerous participants may post activityupdates in one or more activity streams of a social network. A clientsocial networking interface may include a participant identificationsection having a profile for each of a group of participants interactingwith the client. The profile for each participant may include one ormore identifiers, such as a thumbnail image. While activity updates ofcertain participants may be of particular interest to the client, thesocial networking interface may display participant profiles basedprimarily on timing or frequency of activity stream updates rather thanthe relevancy of such updates with respect to the client.

Accordingly, depending on the activity of the various participants, thesocial networking interface may prominently display profiles ofparticipants for which the client has relatively little interest,especially if such participants have posted recently or post often.Furthermore, the social networking interface may obscure profiles andupdates of participants for which the client has particular interest,especially if such participants have not posted recently or post rarely.Consequently, visibility levels of participant profiles in the socialnetwork interface may not be consistent with client needs orpreferences.

SUMMARY

The various embodiments of the invention provide techniques foradjusting participant prominence in a social networking application. Oneembodiment includes a method of adjusting prominence of a profile of aparticipant among a plurality of participants in a social networkinginterface of a client. The method may include receiving an activitystream update of the participant and calculating a relevancy score basedon content in the activity stream update of the participant. The methodfurther may include adjusting a visibility level of the profile of theparticipant in the social networking interface based upon the calculatedrelevancy score.

In an embodiment, adjusting the visibility level of the profile of theparticipant may include increasing the visibility level of the profileof the participant upon determining that the calculated relevancy scoreis greater than or equal to a first predefined threshold value.Furthermore, adjusting the visibility level of the profile of theparticipant may include decreasing the visibility level of the profileof the participant upon determining that calculated relevancy score isless than a second predefined threshold value. Increasing the visibilitylevel of the profile of the participant may include at least one ofincreasing size of a thumbnail image of the participant in the socialnetworking interface, increasing degree of color intensity of a borderaround the thumbnail image of the participant, and increasing size ofthe border around the thumbnail image of the participant. Conversely,decreasing the visibility level of the profile of the participant mayinclude at least one of decreasing size of the thumbnail image of theparticipant, decreasing degree of color intensity of the border aroundthe thumbnail image of the participant, and decreasing size of theborder around the thumbnail image of the participant. Furthermore, thesecond predefined threshold value may be equal to the first predefinedthreshold value.

In an embodiment, calculating the relevancy score may includeinitializing the relevancy score with a predefined baseline value,facilitating parsing of language in the activity stream update of theparticipant to determine one or more terms associated with the activitystream update of the participant, facilitating parsing of languageassociated with the client to determine one or more terms associatedwith the client, and adjusting the relevancy score by iterativelycomparing the one or more terms associated with the activity streamupdate of the participant and the one or more terms associated with theclient.

According to such embodiment, adjusting the relevancy score may includeincreasing the relevancy score by a first predefined amount upondetermining a direct match relationship between a term among the one ormore terms associated with the activity stream update of the participantand a term among the one or more terms associated with the client.Moreover, adjusting the relevancy score may include increasing therelevancy score by a second predefined amount upon determining asynonymous relationship between a term among the one or more termsassociated with the activity stream update of the participant and a termamong the one or more terms associated with the client. The secondpredefined amount may be less than the first predefined amount.Furthermore, adjusting the relevancy score may include increasing therelevancy score by a third amount upon determining an ontologicalrelationship between a term among the one or more terms associated withthe activity stream update of the participant and a term among the oneor more terms associated with the client. The third amount may be lessthan the second predefined amount, and magnitude of the third amount maybe determined via ontological analysis. Optionally, adjusting therelevancy score may include decreasing the relevancy score by a fourthpredefined amount upon determining no relationship between a term amongthe one or more terms associated with the activity stream update of theparticipant and a term among the one or more terms associated with theclient, and upon further determining that the participant has posted athreshold number of activity stream updates within a predefined durationof time.

In a further embodiment, calculating the relevancy score may includeinitializing the relevancy score with a predefined baseline value,determining one or more content types associated with the activitystream update of the participant, determining one or more content typesassociated with the client, and adjusting the relevancy score byiteratively comparing the one or more content types associated with theactivity stream update of the participant and the one or more contenttypes associated with the client. According to such embodiment,adjusting the relevancy score may include increasing the relevancy scoreby a predefined amount upon determining a match between a content typeamong the one or more content types associated with the activity streamupdate of the participant and a content type among the one or morecontent types associated with the client.

In a further embodiment, calculating the relevancy score may includeinitializing the relevancy score with a predefined baseline value,facilitating parsing of language in the activity stream update of theparticipant to determine one or more actionable tasks associated withthe activity stream update of the participant, facilitating parsing oflanguage associated with the client to determine one or more actionabletasks associated with the client, and adjusting the relevancy score byiteratively comparing the one or more actionable tasks associated withthe activity stream update of the participant and the one or moreactionable tasks associated with the client. According to suchembodiment, the method further may include including natural language ofthe activity stream update of the participant in a caption adjacent tothe thumbnail image of the participant in the social networkinginterface upon determining that the relevancy score exceeds anactionable task threshold value.

An additional embodiment includes a computer program product including acomputer readable storage medium having program instructions embodiedtherewith, wherein the program instructions may be executable by acomputing device to cause the computing device to perform one or moresteps of above recited method. A further embodiment includes a systemhaving a processor and a memory storing a content management applicationprogram, which, when executed on the processor, performs one or moresteps of the above recited method.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

So that the manner in which the above recited aspects are attained andcan be understood in detail, a more particular description ofembodiments, briefly summarized above, may be had by reference to theappended drawings.

Note, however, that the appended drawings illustrate only typicalembodiments of this invention and are therefore not to be consideredlimiting of its scope, for the invention may admit to other equallyeffective embodiments.

FIG. 1 illustrates a computing infrastructure, according to anembodiment.

FIG. 2 illustrates a method of adjusting prominence of a profile of aparticipant among a plurality of participants in a social networkinginterface, according to an embodiment.

FIG. 3 illustrates a method of calculating a relevancy score based uponcontent in an activity stream update, according to an embodiment.

FIG. 4 illustrates a method of adjusting a relevancy score, according toan embodiment.

FIG. 5 illustrates a method of calculating a relevancy score based uponcontent in the activity stream update, according to a furtherembodiment.

FIG. 6 illustrates a method of calculating a relevancy score based uponcontent in the activity stream update, according to a furtherembodiment.

FIGS. 7a and 7b illustrate a method of adjusting a relevancy score,according to a further embodiment.

FIG. 8 illustrates a method of adjusting visibility level of aparticipant profile in a social networking interface, according to anembodiment.

FIG. 9 illustrates a client social networking interface, according to anembodiment.

FIG. 10 illustrates an example scenario of adjusting visibility level ofa participant profile in the client social networking interfaceillustrated in FIG. 9, according to an embodiment.

FIG. 11 illustrates an ontology tree, according to an embodiment.

FIG. 12 illustrates a further example scenario of adjusting visibilitylevel of a participant profile in the client social networking interfaceillustrated in FIG. 9, according to an embodiment.

FIG. 13 illustrates a further example scenario of adjusting visibilitylevel of a participant profile in the client social networking interfaceillustrated in FIG. 9, according to an embodiment.

DETAILED DESCRIPTION

The various embodiments of the invention described herein are directedto techniques for adjusting prominence of a participant profile in asocial networking interface of a client based on an activity streamupdate of the participant. A technique for adjusting prominence of theparticipant profile may include calculating a relevancy score for theparticipant based on content in the activity stream update and thenadjusting visibility level of the participant profile. In an embodiment,the participant profile may be included with other participant profilesin a participant identification section of the client social networkinginterface. Furthermore, the participant profile may include one or moreidentifiers, such as a thumbnail image.

According to one embodiment, a client social networking application maycalculate and adjust the relevancy score by iteratively comparing one ormore terms associated with the participant activity stream update andone or more terms associated with the client. The one or more termsassociated with the participant activity stream update may be parsedfrom language of the update. The one or more terms associated with theclient may be parsed from language derived from at least one of clientactivity stream updates and client profile information (e.g., clientinterests). In such embodiment, the client application may initializethe relevancy score with a baseline value and then may increase therelevancy score each time a relationship is determined between arespective term associated with the participant activity stream updateand a respective term associated with the client. As further describedherein, the amount of such increase may depend upon the nature of thedetermined relationship. Optionally, according to such embodiment, theclient application may decrease the relevancy score upon determiningthat no relationship exists between a term associated with theparticipant activity stream update and a term associated with the clientand upon further determining that the participant has posted apredefined number of activity stream updates within a predefinedduration of time.

According to a further embodiment, the client social networkingapplication may calculate and adjust the relevancy score by iterativelycomparing one or more content types associated with the participantactivity stream update and one or more content types associated with theclient. Content types according to this disclosure may include at leastone of application instances, Internet hyperlinks, and audiovisualresources. The client application may determine the one or more contenttypes associated with the client from at least one of client activitystream updates and client profile information. In such embodiment, theclient application may initialize the relevancy score with a baselinevalue and then may increase the relevancy score by a predefined amounteach time a match is determined between a respective content typeassociated with the participant activity stream update and a respectivecontent type associated with the client.

According to a further embodiment, the client social networkingapplication may calculate and adjust the relevancy score by iterativelycomparing one or more actionable tasks associated with the participantactivity stream update and one or more actionable tasks associated withthe client. An actionable task in the context of this disclosure refersto an action verb and one or more associated objects. The one or moreactionable tasks associated with the participant activity stream updatemay be parsed from language of the update. The one or more actionabletasks associated with the client may be parsed from language derivedfrom at least one of client activity stream updates and client profileinformation (e.g., client interests). In such embodiment, the clientapplication may initialize the relevancy score with a baseline value andthen may increase the relevancy score each time a relationship isdetermined between a respective actionable task associated with theparticipant activity stream update and a respective actionable taskassociated with the client. As further described herein, the amount ofsuch increase may depend upon the nature of the determined relationship.

The client application may adjust the visibility level of theparticipant profile based on the calculated relevancy score. Accordingto one embodiment, the client application may increase the visibilitylevel of the participant profile upon determining that the calculatedrelevancy score is greater than or equal to a first predefined thresholdvalue. Furthermore, the client application may decrease the visibilitylevel of the participant profile upon determining that the calculatedrelevancy score is less than a second predefined threshold value. In anembodiment, the second predefined threshold value may be equal to thefirst predefined threshold value.

In an embodiment, the client application may adjust visibility level ofthe participant profile by adjusting one or more identifiers associatedwith the participant in the participant identification section of theclient social networking interface. Specifically, the client applicationmay increase the visibility level of the participant profile byperforming at least one of increasing size of a thumbnail image of theparticipant in the participant identification section, increasing degreeof color intensity of a border around the thumbnail image, andincreasing size of the border around the thumbnail image. Conversely,the client application may decrease the visibility level of participantprofile by performing at least one of decreasing size of the thumbnailimage, decreasing degree of color intensity of a border around thethumbnail image, and decreasing size of the border around the thumbnailimage.

The various embodiments of the invention described herein may havevarious advantages over a conventional social networking applicationinterface. While a conventional social networking application maydetermine prominence of a participant profile primarily based on howrecently or frequency such participant posts activity stream updates, asocial networking application according to the various embodimentsdescribed herein may determine prominence of the participant profilebased on the relevance of activity stream updates of the participantwith respect to the client. By determining prominence of the participantprofile based on relevance, the visibility level of the participantprofile in the social network interface may be aligned more closely withclient needs or preferences.

In the following, reference is made to various embodiments of theinvention. However, it should be understood that the invention is notlimited to specific described embodiments. Instead, any combination ofthe following features and elements, whether related to differentembodiments or not, is contemplated to implement and practice theinvention. Furthermore, although embodiments may achieve advantages overother possible solutions and/or over the prior art, whether or not aparticular advantage is achieved by a given embodiment is not limiting.Thus, the following aspects, features, embodiments and advantages aremerely illustrative and are not considered elements or limitations ofthe appended claims except where explicitly recited in a claim(s).Likewise, reference to “the invention” shall not be construed as ageneralization of any inventive subject matter disclosed herein andshall not be considered to be an element or limitation of the appendedclaims except where explicitly recited in a claim(s).

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The various embodiments described herein may be provided to end usersthrough a cloud computing infrastructure. Cloud computing generallyrefers to the provision of scalable computing resources as a serviceover a network. More formally, cloud computing may be defined as acomputing capability that provides an abstraction between the computingresource and its underlying technical architecture (e.g., servers,storage, networks), enabling convenient, on-demand network access to ashared pool of configurable computing resources that can be rapidlyprovisioned and released with minimal management effort or serviceprovider interaction. Thus, cloud computing allows a user to accessvirtual computing resources (e.g., storage, data, applications, and evencomplete virtualized computing systems) in the cloud, without regard forthe underlying physical systems (or locations of those systems) used toprovide the computing resources.

Typically, cloud computing resources are provided to a user on apay-per-use basis, where users are charged only for the computingresources actually used (e.g., an amount of storage space consumed by auser or a number of virtualized systems instantiated by the user). Auser can access any of the resources that reside in the cloud at anytime, and from anywhere across the Internet. In context of thisdisclosure, workloads of a client computing system or server systemrunning a social networking application according to the variousembodiments described herein may be deployed to a computing cloud.Moreover, cloud-based database systems, virtual machines, and a varietyof other server applications may be used to manage such workloads.

Further, particular embodiments describe techniques for adjustingprominence of a participant profile in a social networking interface.However, it should be understood that the techniques described hereinmay be adapted to a variety of purposes in addition to thosespecifically described herein. Accordingly, references to specificembodiments are included to be illustrative and not limiting.

FIG. 1 illustrates a social networking computing infrastructure 100according to an embodiment. As shown, computing infrastructure 100includes a client computing system 105 and a server system 135, eachconnected to a communications network 165.

Illustratively, client computing system 105 may include a memory 107,storage 109, input/output (I/O) device interface 111, a centralprocessing unit (CPU) 113, and a client network interface 115, all ofwhich may be interconnected via interconnect 117 (e.g., a bus). Althoughshown as a single computing system, client computing system 105 isincluded to be representative of a single client or multiple clients. Inan embodiment, client computing system 105 may be a thin client. Memory107 may include a client social networking application 119. Clientsocial networking application 119 may include a social networkinginterface 121. Storage 109 may include client application data 123associated with client social networking application 119. I/O deviceinterface 111 may be communicatively coupled to one or more client I/Odevices 125. CPU 113 is included to be representative of a single CPU,multiple CPUs, a single CPU having multiple processing cores, and thelike. Client network interface 115 may receive data from and transmitdata to server system 135 via network 165.

Server system 135 may include a memory 137, storage 139, I/O deviceinterface 141, a CPU 143, and a server network interface 145, all ofwhich may be interconnected via interconnect 147 (e.g., a bus). Memory137 may include a server social networking application 149, a dataparsing application 151, a language processing application 153, and adatabase management system (DBMS) 155. DBMS 155 is included berepresentative of a single database system or multiple database systems.Storage 139 may include server social networking application data 157,parsed data 159, ontology 161, and databases 163. Server socialnetworking application 149 may generate and process server socialnetworking application data 157 based on interaction with clientcomputing system 105. To address social networking requests of clientcomputing system 105, server social networking application 149 may sendsuch requests to data parsing application 151 or language processingapplication 153. Data parsing application 151 may send database requeststo DBMS 155, and data parsing application 151 may process resultsreturned by DBMS 155 to generate parsed data 159. Additionally, languageprocessing application 153 may send requests to DBMS 155 or to ontology161 to determine one or more language relationships. DBMS 155 mayinclude a software application configured to manage databases 163.Ontology 161 may include one or more ontology trees or other ontologicalstructures. Databases 163 may include one or more relational databases.While FIG. 1 illustrates three databases 163, computing infrastructure100 may include any number of databases. According to an embodiment,DBMS 155 may send requests to remote databases (not shown) via network165.

I/O device interface 141 may be communicatively coupled to one or moreserver I/O devices 164. CPU 143 is included to be representative of asingle CPU, multiple CPUs, a single CPU having multiple processingcores, and the like. Server network interface 145 may receive data fromand transmit data to client computing system 105 via network 165.Specifically, server social networking application 149 may acceptrequests sent by client computing system 105 to server system 135 andmay transmit data to client computing system 105 via server networkinterface 145.

FIG. 2 illustrates a method 200 of adjusting prominence of a profile ofa participant among a plurality of social networking participants in aclient social networking interface (e.g., social networking interface121), according to an embodiment. The social networking interface may bepart of a client social networking application (e.g., client socialnetworking application 119) running on a client computing system (e.g.,client computing system 105). For purposes of this disclosure, a user ofthe client computing system is referred to as a client.

The method 200 may begin at step 205, where the client application mayreceive an activity stream update of the participant. The activitystream update may be transmitted to the client application via a network(e.g., network 165) by a server system (e.g., server system 135) runninga server social networking application interacting with the clientapplication (e.g., server social networking application 149).Furthermore, the client application may display the activity streamupdate in the client social networking interface. At step 210, theclient application may calculate a relevancy score for the participantbased upon content in the participant activity stream update. Techniquesfor calculating and adjusting the relevancy score according to step 210are described herein with respect to FIGS. 3-7. At step 215, the clientapplication may adjust visibility level of the participant profile inthe social networking interface based upon the calculated relevancyscore. A technique for adjusting visibility level of the participantprofile is further described herein with respect to FIG. 8.

FIG. 3 illustrates a method 300 of calculating the relevancy score basedupon content in the activity stream update of the participant. Themethod 300 provides an embodiment with respect to step 210 of the method200. The method 300 may begin at step 305, where the client applicationmay initialize the relevancy score with a baseline value. The baselinevalue may be a default value (e.g., 0) that may be modified based uponcontent in the participant activity stream update.

At step 310, the client application may facilitate parsing of languagein the participant activity stream update to determine one or more termsassociated with the activity stream update. Specifically, the clientapplication may send language in the participant activity stream updateto a data parsing application (e.g., data parsing application 151)running on the server system to determine the one or more terms. Thedata parsing application may include a slot grammar parser. To addressmultiple languages, such slot grammar parser may include both alanguage-universal shell and language-specific grammars for certainlanguages (e.g., aspects specific to an English Slot Grammar (ESG)parser). Furthermore, the data parsing application may include apredicate-argument structure (PAS) builder. The PAS builder may simplifyand abstract results generated by the slot grammar parser. Additionally,the data parsing application may include higher level natural languageprocessing capabilities such as inferencing and deep semanticprocessing. The data parsing application may parse the language in theparticipant activity stream update via one or more of the slot grammarparser, the PAS builder, and higher level natural language processingcapabilities. The data parsing application may parse out insignificantlanguage (e.g., articles, conjunctions, auxiliary verbs, pronouns, andprepositions). Upon parsing the language in the participant activitystream update, the data parsing application may return the determinedone or more terms to the client application. According to an embodiment,the server social networking application may facilitate processing ofthe one or more terms determined at step 310.

At step 315, the client application may facilitate parsing of languageassociated with the client to determine one or more terms associatedwith the client. Specifically, the client application may derivelanguage associated with the client from at least one of activity streamupdates of the client and information associated with a profile of theclient (e.g., client interests). The client application may consider allclient activity stream updates that have been posted within a predefinedtime range, or alternatively the client application may consider apredefined number of recent client activity stream updates. The clientapplication may send the derived client language to the data parsingapplication to determine the one or more terms. The data parsingapplication may parse the derived client language via one or more of theslot grammar parser, the PAS builder, and higher level natural languageprocessing capabilities. The data parsing application may parse outinsignificant language (e.g., articles, conjunctions, auxiliary verbs,pronouns, and prepositions). Upon parsing the derived client language,the data parsing application may return the determined one or more termsto the client application. According to an embodiment, the server socialnetworking application may facilitate processing of the one or moreterms determined at step 315.

At step 320, the client application may adjust the relevancy score byiteratively comparing the one or more terms associated with theparticipant activity stream update and the one or more terms associatedwith the client. Details regarding adjusting the relevancy scoreaccording to step 320 are further described with respect to FIG. 4.

FIG. 4 illustrates a method 400 of adjusting the relevancy score basedupon a comparison of each of the one or more terms associated with theparticipant activity stream update (e.g., determined according to step310) and each of the one or more terms associated with the client (e.g.,determined according to step 315). The method 400 provides furtherdetail with respect to step 320 of the method 300. The method 400 maybegin at step 405, where the client application may select a term amongthe one or more terms associated with the participant activity streamupdate. At step 410, the client application may select a term among theone or more terms associated with the client.

At step 415, the client application may determine whether a direct matchrelationship exists between the selected term associated with theparticipant activity stream update and the selected term associated withthe client. A direct match relationship in the context of the disclosureexists when a term associated with the participant activity streamupdate and a term associated with the client are identical. In anembodiment, the client application may consult a language processingapplication (e.g., language processing application 153 of server system135) to determine whether a direct match relationship exists. Upondetermining that a direct match relationship exists, at step 420 theclient application may increase the relevancy score by a firstpredefined amount, and the method 400 may proceed to step 445.

Upon determining that no direct match relationship exists, at step 425the client application may determine whether a synonymous relationshipexists between the selected term associated with the participantactivity stream update and the selected term associated with the client.A synonymous relationship in the context of the disclosure exists when aterm associated with the participant activity stream update and a termassociated with the client are synonyms but are not identical. In anembodiment, the client application may consult the language processingapplication to determine whether a synonymous relationship exists. Upondetermining that a synonymous relationship exists, at step 430 theclient application may increase the relevancy score by a secondpredefined amount, and the method 400 may proceed to step 445. In anembodiment, the second predefined amount may be less than the firstpredefined amount.

Upon determining that no synonymous relationship exists, at step 435 theclient application may determine whether an ontological relationshipexists between the selected term associated with the participantactivity stream update and the selected term associated with the client.An ontological relationship in the context of the disclosure exists whena term associated with the participant activity stream update and a termassociated with the client have an ontological relationship (e.g., arelationship determined via ontological analysis) but are not identicalor synonymous. In an embodiment, the client application may consult atleast one of the language processing application and an ontology (e.g.,ontology 161 of server system 135) to determine whether an ontologicalrelationship exists. Upon determining that a ontological relationshipexists, at step 440 the client application may increase the relevancyscore by a third amount. In an embodiment, the third amount may be lessthan the second predefined amount. Furthermore, magnitude of the thirdamount may be determined by a number of degrees of separation betweenthe term associated with the participant activity stream update and theterm associated with the client as determined via ontologicalanalysis—e.g., via analysis of an ontology tree. For instance, if thereis a single degree of separation in an ontology tree between the termassociated with the participant activity stream update and the termassociated with the client, the magnitude of the third amount may be ahigher designated value than if there were two or more degrees ofseparation between the terms.

At step 445, the client application may determine whether there is afurther term to process among the one or more terms associated with theclient. If there is a further term associated with the client toprocess, then the method 400 may return to step 410. If there is nofurther term associated with the client to process, then at step 450 theclient application may determine whether there is a further term toprocess among the one or more terms associated with the participantactivity stream update. If there is a further term associated with theparticipant activity stream update to process, then the method 400 mayreturn to step 405.

Optionally, at step 455, the client application may determine whether norelationship exists between a term associated with the participantactivity stream update and a term associated with the client and furthermay determine whether the participant has posted a predefined number ofactivity stream updates within a predefined duration of time. Adetermination of no relationship may be made by determining whether therelevancy score at step 455 remains equal to the baseline value. Thepredefined number of activity stream updates in this context may bedefined by a number of updates above a designated percentage (e.g., 50%)of an average number of updates posted by the plurality of socialnetworking participants. Upon determining that no relationship exists,and upon further determining that the participant has posted thepredefined number of activity stream updates within the predefinedperiod of time, then at step 460 the client application may decrease therelevancy score by a fourth predefined amount. Accordingly, relevancyscore may be decreased for a participant who posts an activity streamupdate for which the client may have little interest, if suchparticipant posts activity stream updates on a frequent basis. In anembodiment, the client application may provide the client an option toadjust one or more of the predefined values for the method 400.

FIG. 5 illustrates a method 500 of calculating the relevancy score basedupon content in the activity stream update of the participant. Themethod 500 provides a further embodiment with respect to step 210 of themethod 200. The method 500 may begin at step 505, where the clientapplication may initialize the relevancy score with a baseline value.The baseline value may be a default value (e.g., 0) that may be modifiedbased upon content in the participant activity stream update. At step510, the client application may determine one or more content typesassociated with the participant activity stream update. The one or morecontent types may include at least one of application instances,Internet hyperlinks, and audiovisual resources. At step 515, the clientapplication may determine one or more content types associated with theclient. The client application may determine the one or more contenttypes at step 515 from at least one of client activity stream updatesand information associated with the client profile. The clientapplication may consider client activity stream updates that have beenposted within a predefined time range, or alternatively the clientapplication may consider a predefined number of recent client activitystream updates.

At step 520, the client application may adjust the relevancy score byiteratively comparing the one or more content types associated with theparticipant activity stream update and the one or more content typesassociated with the client. Specifically, in one embodiment, the clientapplication may iterate through each of the one or more content typesassociated with the participant activity stream update to determinewhether there is a matching content type among the one or more contenttypes associated with the client, and the client application mayincrease the relevancy score by a predefined amount for each such match.For example, the client application may increase the relevancy score bythe predefined amount upon determining that a participant activitystream update pertains to a gaming application that also is associatedwith the client. In an embodiment, the client application may providethe client an option to adjust the predefined amount for the method 500.

FIG. 6 illustrates a method 600 of calculating the relevancy score basedupon content in the activity stream update of the participant. Themethod 600 provides a further embodiment with respect to step 210 of themethod 200. The method 600 may begin at step 605, where the clientapplication may initialize the relevancy score with a baseline value.The baseline value may be a default value (e.g., 0) that may be modifiedbased upon content in the participant activity stream update.

At step 610, the client application may facilitate parsing of languagein the participant activity stream update to determine one or moreactionable tasks associated with the activity stream update.Specifically, the client application may send language in theparticipant activity stream update to the aforementioned data parsingapplication in order to determine any actionable tasks. In the contextof this disclosure, an actionable task may be defined as an action verband one or more associated objects. Such one or more objects may includeat least one of a direct object upon which the action verb acts or anobject of a prepositional phrase following the action verb. A non-actionverb and any corresponding object(s) are not considered part of anactionable task. The data parsing application may parse the language inthe participant activity stream update via one or more of the slotgrammar parser, the PAS builder, and higher level natural languageprocessing capabilities. The data parsing application may discardarticles, conjunctions, pronouns, prepositions, and auxiliary verbsassociated with action verbs. Upon parsing the language in theparticipant activity stream update, the data parsing application mayreturn the determined one or more actionable tasks to the clientapplication. According to an embodiment, the server social networkingapplication may facilitate processing of the determined one or moreactionable tasks.

At step 615, the client application may facilitate parsing of languageassociated with the client to determine one or more actionable tasksassociated with the client. Specifically, the client application mayderive language associated with the client from at least one of clientactivity stream updates and information associated with the clientprofile (e.g., client interests). The client application may considerall client activity stream updates that have been posted within apredefined time range, or alternatively the client application mayconsider a predefined number of recent client activity stream updates.The client application may send the derived client language to theaforementioned data parsing application to determine the one or moreactionable tasks. The data parsing application may parse the derivedclient language via one or more of the slot grammar parser, the PASbuilder, and higher level natural language processing capabilities. Thedata parsing application may discard articles, conjunctions, pronouns,prepositions, and auxiliary verbs associated with action verbs. Uponparsing the derived client language, the data parsing application mayreturn the determined one or more actionable tasks to the clientapplication. According to an embodiment, the server social networkingapplication may facilitate processing of the determined one or moreactionable tasks.

At step 620, the client application may adjust the relevancy score byiteratively comparing the one or more actionable tasks associated withthe participant activity stream update and the one or more actionabletasks associated with the client. Details regarding adjusting therelevancy score according to step 620 are further described with respectto FIG. 7.

FIG. 7 illustrates a method 700 of adjusting the relevancy score basedupon a comparison of each of the one or more actionable tasks associatedwith the participant activity stream update and each of the one or moreactionable tasks associated with the client, according to oneembodiment. The method 700 provides further detail with respect to step620 of the method 600. The method 700 may begin at step 702, where theclient application may select an actionable task among the one or moreactionable tasks associated with the participant activity stream update.At step 704, the client application may select an actionable task amongthe one or more actionable tasks associated with the client.

At step 706, the client application may determine whether a completedirect match relationship exists between the selected actionable taskassociated with the participant activity stream update and the selectedactionable task associated with the client. A complete direct matchrelationship in the context of the disclosure exists when both an actionverb and an object of an actionable task associated with the participantactivity stream update are respectively identical to an action verb andan object of an actionable task associated with the client. In anembodiment, the client application may consult the aforementionedlanguage processing application to determine whether a complete directmatch relationship exists. Upon determining that a complete direct matchrelationship exists, at step 708 the client application may increase therelevancy score by a first predefined amount, and the method 700 mayproceed to step 742.

Upon determining that no complete direct match relationship exists, atstep 710 the client application may determine whether a partial directmatch—partial synonymous relationship exists between the between theselected actionable task associated with the participant activity streamupdate and the selected actionable task associated with the client. Apartial direct match—partial synonymous relationship in the context ofthe disclosure exists when either (but not both) of an action verb or anobject of an actionable task associated with the participant activitystream update is identical to an action verb or an object of anactionable task associated with the client, and either (but not both) ofan action verb or an object of an actionable task associated with theparticipant activity stream update is synonymous with, but is notidentical to, an action verb or an object of an actionable taskassociated with the client. In an embodiment, the client application mayconsult the language processing application to determine whether apartial direct match—partial synonymous relationship exists. Upondetermining that a partial direct match—partial synonymous relationshipexists, at step 712 the client application may increase the relevancyscore by a second predefined amount, and the method 700 may proceed tostep 742. In an embodiment, the second predefined amount may be lessthan the first predefined amount.

Upon determining that no partial direct match—partial synonymousrelationship exists, at step 714 the client application may determinewhether a partial direct match—partial ontological relationship existsbetween the selected actionable task associated with the participantactivity stream update and the selected actionable task associated withthe client. A partial direct match—partial ontological relationship inthe context of the disclosure exists when either (but not both) of anaction verb or an object of an actionable task associated with theparticipant activity stream update is identical to an action verb or anobject of an actionable task associated with the client, and either (butnot both) of an action verb or an object of an actionable taskassociated with the participant activity stream update has anontological relationship with, but is not synonymous with or identicalto, an action verb or an object of an actionable task associated withthe client. In an embodiment, the client application may consult atleast one of the language processing application and the aforementionedontology to determine whether a partial direct match—partial ontologicalrelationship exists. Upon determining that a partial directmatch—partial ontological relationship exists, at step 716 the clientapplication may increase the relevancy score by a third amount, and themethod 700 may proceed to step 742. In an embodiment, the third amountmay be less than the second predefined amount. Furthermore, magnitude ofthe third amount may be partially predefined (as a result of the partialdirect match) and partially determined by a number of degrees ofseparation between the ontologically related portion of the actionabletask associated with the participant activity stream update and theontologically related portion of the actionable task associated with theclient, as determined via ontological analysis. For instance, if thereis a single degree of separation in an ontology tree between theontologically related portion of the actionable task associated with theparticipant activity stream update and the ontologically related portionof the actionable task associated with the client, the magnitude of thethird amount may be a higher designated value than if there were two ormore degrees of separation between the ontologically related portions.

Upon determining that no partial direct match—partial ontologicalrelationship exists, at step 718 the client application may determinewhether a sole partial direct match relationship exists between theselected actionable task associated with the participant activity streamupdate and the selected actionable task associated with the client. Asole partial direct match relationship in the context of the disclosureexists when either (but not both) of an action verb or an object of anactionable task associated with the participant activity stream updateis identical to an action verb or an object of an actionable taskassociated with the client, without any further relationship between theactionable tasks. In an embodiment, the client application may consultthe language processing application to determine whether a sole partialdirect match relationship exists. Upon determining that a sole partialdirect match relationship exists, at step 720 the client application mayincrease the relevancy score by a fourth predefined amount, and themethod 700 may proceed to step 742. In an embodiment, the fourthpredefined amount may be less than the third amount. For instance, thefourth predefined amount may be equivalent to the predefined portion ofthe third amount.

Upon determining that no sole partial direct match relationship exists,at step 722 the client application may determine whether a completesynonymous relationship exists between the selected actionable taskassociated with the participant activity stream update and the selectedactionable task associated with the client. A complete synonymousrelationship in the context of the disclosure exists when both an actionverb and an object of an actionable task associated with the participantactivity stream update are respectively synonymous with, but are notidentical to, an action verb and an object of an actionable taskassociated with the client. In an embodiment, the client application mayconsult the language processing application to determine whether acomplete synonymous relationship exists. Upon determining that acomplete synonymous relationship exists, at step 724 the clientapplication may increase the relevancy score by a fifth predefinedamount, and the method 700 may proceed to step 742. In an embodiment,the fifth predefined amount may be less than the fourth predefinedamount.

Upon determining that no complete synonymous relationship exists, atstep 726 the client application may determine whether a partialsynonymous—partial ontological relationship exists between the selectedactionable task associated with the participant activity stream updateand the selected actionable task associated with the client. A partialsynonymous—partial ontological relationship in the context of thedisclosure exists when either (but not both) of an action verb or anobject of an actionable task associated with the participant activitystream update is synonymous with, but is not identical to, an actionverb or an object of an actionable task associated with the client, andeither (but not both) of an action verb or an object of an actionabletask associated with the participant activity stream update has anontological relationship with, but is not synonymous with or identicalto, an action verb or an object of an actionable task associated withthe client. In an embodiment, the client application may consult atleast one of the language processing application and the ontology todetermine whether a partial synonymous—partial ontological relationshipexists. Upon determining that a partial synonymous—partial ontologicalrelationship exists, at step 728 the client application may increase therelevancy score by a sixth amount, and the method 700 may proceed tostep 742. In an embodiment, the sixth amount may be less than the fifthpredefined amount. Furthermore, magnitude of the sixth amount may bepartially predefined (as a result of the partial synonymousrelationship) and may be partially determined by a number of degrees ofseparation between the ontologically related portion of the actionabletask associated with the participant activity stream update and theontologically related portion of the actionable task associated with theclient, as determined via ontological analysis.

Upon determining that no partial synonymous—partial ontologicalrelationship exists, at step 730 the client application may determinewhether a sole partial synonymous relationship exists between theselected actionable task associated with the participant activity streamupdate and the selected actionable task associated with the client. Asole partial synonymous relationship in the context of the disclosureexists when either (but not both) of an action verb or an object of anactionable task associated with the participant activity stream updateis synonymous with, but is not identical to, an action verb or an objectof an actionable task associated with the client, without any furtherrelationship between the actionable tasks. In an embodiment, the clientapplication may consult the language processing application to determinewhether a sole partial synonymous relationship exists. Upon determiningthat a sole partial synonymous relationship exists, at step 732 theclient application may increase the relevancy score by a seventhpredefined amount, and the method 700 may proceed to step 742. In anembodiment, the seventh predefined amount may be less than the sixthamount. For instance, the seventh predefined amount may be equivalent tothe predefined portion of the sixth amount.

Upon determining that no sole partial synonymous relationship exists, atstep 734 the client application may determine whether a completeontological relationship exists between the selected actionable taskassociated with the participant activity stream update and the selectedactionable task associated with the client. A complete ontologicalrelationship in the context of the disclosure exists when both an actionverb and an object of an actionable task associated with the participantactivity stream update are respectively ontologically related to, butare not identical to or synonymous with, an action verb and an object ofan actionable task associated with the client. In an embodiment, theclient application may consult at least one of the language processingapplication and the ontology to determine whether a complete ontologicalrelationship exists. Upon determining that a complete ontologicalrelationship exists, at step 736 the client application may increase therelevancy score by an eighth amount, and the method 700 may proceed tostep 742. In an embodiment, the eighth amount may be less than theseventh predefined amount. Furthermore, magnitude of the eighth amountmay be determined by respective numbers of degrees of separation betweeneach respective ontologically related portion of the actionable taskassociated with the participant activity stream update and eachrespective ontologically related portion of the actionable taskassociated with the client, as determined via ontological analysis.

Upon determining that no complete ontological relationship exists, atstep 738 the client application may determine whether a sole partialontological relationship exists between the selected actionable taskassociated with the participant activity stream update and the selectedactionable task associated with the client. A sole partial ontologicalrelationship in the context of the disclosure exists when either (butnot both) of an action verb or an object of an actionable taskassociated with the participant activity stream update is ontologicallyrelated to, but is not identical to or synonymous with, an action verbor an object of an actionable task associated with the client, withoutany further relationship between the actionable tasks. In an embodiment,the client application may consult at least one of the languageprocessing application and the ontology to determine whether a solepartial ontological relationship exists. Upon determining that a solepartial ontological relationship exists, at step 740 the clientapplication may increase the relevancy score by a ninth amount. In anembodiment, the ninth amount may be less than the eighth amount.Furthermore, magnitude of the ninth amount may be determined by a numberof degrees of separation between the ontologically related portion ofthe actionable task associated with the participant activity streamupdate and the ontologically related portion of the actionable taskassociated with the client, as determined via ontological analysis.

At step 742, the client application may determine whether there is afurther actionable task to process among the one or more actionabletasks associated with the client. If there is a further actionable taskassociated with the client to process, then the method 700 may return tostep 704. If there is no further actionable task associated with theclient to process, at step 744 the client application may determinewhether there is a further actionable task to process among the one ormore actionable tasks associated with the participant activity streamupdate. If there is a further actionable task associated with theparticipant activity stream update to process, then the method 700 mayreturn to step 702. In an embodiment, the client application may providethe client an option to adjust one or more of the predefined values forthe method 700.

FIG. 8 illustrates a method 800 of adjusting the visibility level of theparticipant profile in the social networking interface. The method 800provides further detail with respect to step 215 of the method 200. Themethod 800 may begin at step 805, where the client application maydetermine whether the relevancy score for the participant (e.g.,calculated at step 210 of the method 200) is greater than or equal to afirst predefined threshold value. Upon determining that the relevancyscore is greater than or equal to the first predefined threshold value,at step 810 the client application may increase the visibility level ofthe participant profile, and the process may end. Upon determining thatthe relevancy score is less than the first predefined threshold value,at step 815 the client application may determine whether the relevancyscore for the participant is less than a second predefined thresholdvalue. Upon determining that the relevancy score is less than the secondpredefined threshold value, at step 820 the client application maydecrease the visibility level of the participant profile. Upondetermining that the relevancy score is greater than or equal to thesecond predefined threshold value, the process may end.

According to one embodiment, the first predefined threshold may begreater than the second predefined threshold. According to suchembodiment, the client application will leave the visibility level ofthe participant profile unchanged upon determining that the relevancyscore is less than the first predefined threshold value but greater thanor equal to the second predefined threshold value. According to analternative embodiment, the first predefined threshold may be equivalentto the second predefined threshold.

In an embodiment, the client application may define a number ofvisibility levels by which the participant profile is increased upondetermining that the relevancy score is greater than or equal to thefirst predefined threshold value at step 805. The client applicationalso may define a number of visibility levels by which the participantprofile decreased upon determining that the relevancy score is less thanthe second predefined threshold value at step 815. For instance, theclient application may define that the participant profile is to beincreased one visibility level upon determining that the relevancy scoreis greater than or equal to the first predefined threshold value at step805 and further may define that the participant profile is to bedecreased one visibility level upon determining that the relevancy scoreis less than the second predefined threshold value at step 815. Theclient application may provide the client an option to adjust one ormore of the predefined threshold values and the number of visibilitylevels for the method 800.

In a further embodiment, additional predefined threshold values may bedefined in the context of the method 800. For instance, the clientapplication may define that the participant profile is to be increasedtwo visibility levels upon determining that the relevancy score isgreater than or equal to a third predefined threshold value, wherein thethird predefined threshold value is greater than the first predefinedthreshold value. Additionally, the client application may define thatthe participant profile is to be decreased two visibility levels upondetermining that the relevancy score is less than a fourth predefinedthreshold value, wherein the fourth predefined threshold value is lessthan the second predefined threshold value. In such embodiment, theclient application may provide the client an option to adjust one ormore of these additional predefined threshold values.

Adjusting the visibility level of the participant profile in the method800 according to one embodiment may include adjusting visibility levelof a thumbnail image of the participant. Specifically, a thumbnail imagerepresenting the participant in the client social networking interfacemay be one of a plurality of predefined sizes. Such thumbnail image maybe located in a participant identification section of the socialnetworking interface. According to such embodiment, increasing thevisibility level of the thumbnail image at step 810 may includeincreasing the thumbnail image size to a predefined size larger than acurrent predefined size. Conversely, decreasing the visibility level ofthe thumbnail image at step 820 may include decreasing the thumbnailimage size to a predefined size smaller than the current predefinedsize.

According to a further embodiment, adjusting the visibility level of theparticipant profile in the method 800 may include adjusting visibilitylevel of attributes of a border around the thumbnail image of theparticipant. Border attributes such as color intensity or size may bemodified to increase or decrease visibility of the participant profile.Specifically, a border may have predefined degrees of color intensity.Increasing visibility of the border at step 810 may include increasingcolor intensity of the border to a higher predefined degree than acurrent predefined degree. Conversely, decreasing visibility of theborder at step 820 may include decreasing color intensity to a lowerpredefined degree than the current predefined degree. Furthermore, aborder may be one of a plurality of predefined sizes, and increasingvisibility of the border at step 810 may include increasing border sizeto a larger predefined size than a current predefined size. Conversely,decreasing visibility of the border at step 820 may include decreasingborder size to a smaller predefined size than the current predefinedsize.

According to a further embodiment, in a scenario in which relevancyscore is calculated by determining one or more actionable tasksassociated with the participant activity stream update and one or moreactionable tasks associated with the client (e.g., according to themethods 600 and 700), the client application may include a caption inthe social networking interface adjacent to the thumbnail image of theparticipant upon determining that the calculated relevancy score exceedsa predefined actionable task threshold value. Specifically, the captionmay include the natural language of the participant activity streamupdate.

According to an embodiment, the steps of the methods 200-800 may becarried out by the server social networking application on the serversystem or a social networking application of another computing systemrather than the client social networking application on the clientcomputing system. For instance, if the client computing system is a thinclient, all processing may occur at the server system, and relevant datarequired for display of the client social networking interface may besent to the client computing system via the network.

FIG. 9 illustrates social networking interface 121 as presented by aclient social networking application 119 running in memory 107 of clientcomputing system 105, according to an embodiment. Social networkinginterface 121 may include a participant identification section 905, anactivity stream 910, and client profile information 915. Participantidentification section 905 may include all or a subset of participantsassociated with the client within client application 119. As shown,participant identification section 905 includes respective profiles forParticipant A, Participant B, Participant C, Participant D, andParticipant E. Each participant profile includes an identifier in theform of a thumbnail image with a border. Activity stream 910 may displayrecent activity stream updates associated with the client and theparticipants included in participant identification section 905.Activity stream 910 may include activity stream updates in temporalorder, with the newest activity stream update at the top. Client profileinformation 915 includes personal information provided by the client,including hometown, birthday, and interests 917. As shown in FIG. 9, theclient has posted two recent activity stream updates in activity stream910. Activity stream update 919 is a natural language update. Activitystream update 921 pertains to an update for an application, specificallyApplication XYZ.

FIG. 10 illustrates social networking interface 121 upon posting of anew activity stream update 1023 by Participant A. FIG. 10 illustrates anexample scenario in which prominence of the profile of Participant A isadjusted from the visibility level illustrated in FIG. 9 according tothe method 200. More specifically, in this example scenario, relevancyscore is calculated and adjusted for Participant A based on the contentof activity stream update 1023 according to the methods 300 and 400, andvisibility level of the profile of Participant A is adjusted based onthe calculated relevancy score according to the method 800.

For the example scenario of FIG. 10, it is assumed that the relevancyscore is initialized to a baseline value of 0 according to step 305 ofthe method 300. According to step 310, client application 119 mayfacilitate parsing of language in activity stream update 1023 ofParticipant A to determine terms associated therewith. Specifically,client application 119 may send language in activity stream update 1023to data parsing application 151, which may determine the following termsassociated with activity stream update 1023: “cruising”, “family”, and“boat”. Data parsing application 151 may ignore insignificant articles,conjunctions, auxiliary verbs, pronouns, and prepositions.

Furthermore, according to step 315, client application 119 mayfacilitate parsing of language associated with the client to determineterms associated therewith. For purposes of this example, clientapplication 119 may derive client language from interests 917 listed inclient profile information 915 as well as the past two client activitystream updates 919 and 921. Client application 119 may send clientlanguage derived from interests 917 and client activity stream updates919 and 921 to data parsing application 151, which may determine thefollowing terms associated with the client: “sailing”, “schooner”,“playing”, “golf”, “dining”, “family”, “building”, “models”, “painting”,“house”, “camping”, “forest”, “singing”, and “friends”.

According to the example scenario of FIG. 10, adjustment of therelevancy score according to step 320 is assumed to occur via the method400. According to the method 400, each of the terms associated withactivity stream update 1023 of Participant A may be iteratively comparedwith each of the terms associated with the client. As a result ofiteratively comparing the terms associated with activity stream update1023 and the terms associated with the client, at step 415 clientapplication 119 may determine that a direct match relationship existsbased on the term “family”, which is a term associated with both theclient and activity stream update 1023 of Participant A. Accordingly, atstep 420 client application 119 may increase the relevancy score, whichinitially is equal to the baseline value of 0, by a first predefinedamount. For purposes of this example, the first predefined amount for adirect match relationship according to the method 400 is assumed to be10. Thus, the relevancy score is increased by 10, such that therelevancy score is adjusted to 10.

Moreover, client application 119 may determine at step 425 that asynonymous relationship exists between the term “cruising” associatedwith activity stream update 1023 of Participant A and the term “sailing”associated with the client. Accordingly, at step 430 client application119 may increase the relevancy score by a second predefined amount. Forpurposes of this example, the second predefined amount for a synonymousrelationship according to the method 400 is assumed to be 7. Thus, therelevancy score is increased by 7, such that the relevancy score isadjusted to 17.

Furthermore, at step 435, client application 119 may determine that anontological relationship exists between the term “boat” associated withParticipant A and the term “schooner” associated with the client. Suchontological relationship may be determined by consulting an ontologytree, such as ontology tree 1100 as illustrated in FIG. 11.

Ontology tree 1100 includes nodes and branches connecting the nodes.Each node represents a category. Ontology tree 1100 is organizedaccording to level of specificity, wherein a more general category islocated at a higher tree level than a more specific category. A rootnode 1105 of ontology tree 1100 represents a category “vehicle”, andeach node connected to a root node 1105 one level below represents asub-category of the category “vehicle”. Specifically, each of a node1110, representing category “boat”, and a node 1115, representingcategory “car”, represents a sub-category of root node 1105. Moreover,each node connected to node 1110 one level below represents asub-category of the category “boat”. Specifically, each of a node 1120,representing category “canoe”, and a node 1125, representing category“schooner”, represents a sub-category of the category “boat”. Degrees ofseparation among the nodes of the ontology tree 1100 may be determinedby counting the number of branches traversed from one node to another.For instance, since one branch is traversed from node 1110 representingcategory “boat” to node 1125 representing category “schooner”, there isone degree of separation between category “boat” and category“schooner”.

At step 435, client application 119 may consult ontology tree 1100 ofFIG. 11, which may be within ontology 161, and accordingly may determinean ontological relationship between the term “boat” associated withactivity stream update 1023 of Participant A (based on category “boat”of node 1110) and the term “schooner” associated with the client (basedon category “schooner” of node 1125). Moreover, client application 119may determine one degree of separation between the terms, as there isone branch in ontology tree 1100 between node 1110 representing category“boat” and node 1125 representing category “schooner”. Accordingly, atstep 440 client application 119 may increase the relevancy score by athird amount. For purposes of this example, magnitude of the thirdamount for an ontological relationship is assumed to be 5 for one degreeof separation, 4 for two degrees of separation, and 3 for three degreesof separation. Thus, the relevancy score is increased by 5 based on thedetermined ontological relationship with one degree of separation, suchthat the relevancy score is adjusted to 22.

Having calculated the relevancy score of 22 for Participant A accordingto the methods 300 and 400, client application 119 may adjust visibilitylevel of the profile of Participant A within social networking interface121 according to the method 800. For purposes of this example scenario,the first predefined threshold value according to the method 800 isassumed to be 20, and the second predefined threshold value is assumedto be 10. Moreover, for this example it is assumed that a participantprofile is to be increased one visibility level or decreased onevisibility level according to the method 800. Additionally, for thisexample it is assumed that adjusting visibility level of a participantprofile entails increasing or decreasing size of the border around thethumbnail image representing the participant in participantidentification section 905.

For this example scenario, at step 805 client application 119 maydetermine that the calculated relevancy score of 22 for Participant A isgreater than the first predefined value of 20. Thus, at step 810 clientapplication 119 may increase the visibility level of the profile ofParticipant A one visibility level. Specifically, client application 119may increase the border size around the thumbnail image of Participant Ain participant identification section 905 to one predefined size largerthan the current predefined size. Illustratively, the border size aroundthe thumbnail image for Participant A in participant identificationsection 905 of FIG. 10 is increased to a size assumed to be onepredefined size larger than the border size around the thumbnail imagefor Participant A in participant identification section 905 of FIG. 9.Thus, as illustrated in FIG. 10, the prominence of the profile ofParticipant A has been increased based on activity stream update 1023.

FIG. 12 illustrates social networking interface 121 upon posting of anew activity stream update 1223 by Participant A. FIG. 12 illustrates afurther example scenario in which prominence of the profile ofParticipant A is adjusted from the visibility level illustrated in FIG.9 according to the method 200. More specifically, in this examplescenario, relevancy score is calculated for Participant A based on thecontent of the activity stream update 1223 according to the method 500,and visibility level of the profile of Participant A is adjusted basedon the calculated relevancy score according to the method 800.

For the example scenario of FIG. 12, it is assumed that the relevancyscore is initialized to a baseline value of 0 according to step 505 ofthe method 500. According to step 510, client application 119 maydetermine one or more content types associated with activity streamupdate 1223 of Participant A. In this example, client application 119may determine that activity stream update 1223 references installationof “XYZ Application”. Furthermore, according to step 515, clientapplication 119 may determine one or more content types associated withthe client. For purposes of this example, client application 119 maydetermine the one or more content types from material listed in clientprofile information 915 as well as the past two client activity streamupdates 919 and 921. In this example, client application 119 maydetermine that client activity stream update 921 references an updatefor “XYZ Application”.

At step 520, client application may adjust the relevancy score based oniterative comparison of the one or more content types associated withactivity stream update 1223 of Participant A and the one or more contenttypes associated with the client. During such comparison, clientapplication 119 may determine that “XYZ Application” is associated withboth activity stream update 1223 of Participant A and the client.Accordingly, at client application 119 may increase the relevancy score,which initially is equal to the baseline value of 0, by a predefinedamount. For purposes of this example, it is assumed that the predefinedamount for a content type match according to the method 500 is 20. Thus,the relevancy score is increased by 20, such that the relevancy score isadjusted to 20.

Having calculated the relevancy score of 20 for Participant A accordingto the method 500, client application 119 may adjust visibility level ofthe profile of Participant A within social networking interface 121according to the method 800. For purposes of this example scenario, thefirst predefined threshold value according to the method 800 is assumedto be 20, and the second predefined threshold value is assumed to be 10.Moreover, for this example it is assumed that a participant profile isto be increased one visibility level or decreased one visibility levelaccording to the method 800. Additionally, for this example it isassumed that adjusting visibility level of a participant profile entailsincreasing or decreasing size of the thumbnail image representing theparticipant in participant identification section 905.

For this example scenario, at step 805 client application 119 maydetermine that the calculated relevancy score of 20 for Participant A isequal to the first predefined value of 20. Thus, at step 810 clientapplication 119 may increase the visibility level of the profile ofParticipant A one visibility level. Specifically, client application 119may increase the thumbnail image size of Participant A in participantidentification section 905 to one predefined size larger than thecurrent predefined size. Illustratively, the thumbnail image forParticipant A in participant identification section 905 of FIG. 12 isincreased to a size assumed to be one predefined size larger than thethumbnail image size for Participant A in participant identificationsection 905 of FIG. 9. Thus, as illustrated in FIG. 12, the prominenceof the profile of Participant A has been increased based on activitystream update 1223.

FIG. 13 illustrates social networking interface 121 upon posting of anew activity stream update 1323 by Participant A. FIG. 13 illustrates afurther example scenario in which prominence of the profile ofParticipant A is adjusted from the visibility level illustrated in FIG.9 according to the method 200. More specifically, in this examplescenario, relevancy score is calculated and adjusted for Participant Abased on the content of the activity stream update 1323 according to themethods 600 and 700, and visibility level of the profile of ParticipantA is adjusted based on the calculated relevancy score according to themethod 800.

For the example scenario of FIG. 13, it is assumed that the relevancyscore is initialized to a baseline value of 0 according to step 605 ofthe method 600. According to step 610, client application 119 mayfacilitate parsing of language in activity stream update 1323 ofParticipant A to determine actionable tasks associated therewith.Specifically, client application 119 may send language in activitystream update 1323 to data parsing application 151, which may determinethe following actionable tasks associated with activity stream update1323: “fixing [action verb] car [object]” and “crooning [action verb]friends [object]”. Data parsing application 151 may ignore insignificantarticles, conjunctions, auxiliary verbs, pronouns, and prepositions.

Furthermore, according to step 615, client application 119 mayfacilitate parsing of language associated with the client to determineactionable tasks associated therewith. For purposes of this example,client application 119 may derive client language from interests 917listed in client profile information 915 as well as the past two clientactivity stream updates 919 and 921. Client application 119 may sendclient language derived from interests 917 and client activity streamupdates 919 and 921 to data parsing application 151, which may determinethe following actionable tasks associated with the client: “sailing[action verb] schooner [object]”, “playing [action verb] golf [object]”,“dining [action verb] family [object]”, “building [action verb] models[object]”, “painting [action verb] house [object]”, “camping [actionverb] forest [object]”, and “singing [action verb] friends [object]”.

According to the example scenario of FIG. 13, adjustment of therelevancy score according to step 620 is assumed to occur via the method700. According the method 700, each of the actionable tasks associatedwith activity stream update 1023 of Participant A may be iterativelycompared with each of the actionable tasks associated with the client.As a result of iteratively comparing the actionable tasks associatedwith activity stream update 1323 and the actionable tasks associatedwith the client, at step 706 client application 119 may determine thatno complete direct match relationship exists.

At step 710, client application 119 may determine that a partial directmatch—partial synonymous relationship exists between actionable task“crooning friends” associated with activity stream update 1323 ofParticipant A and actionable task “singing friends” associated with theclient. Specifically, upon consultation of language parsing application151, client application 119 may determine that action verb “crooning” ofthe actionable task associated with activity stream update 1323 issynonymous with action verb “singing” of the actionable task associatedwith the client, and further may determine that the object “friends”associated with activity stream update 1323 is identical to the object“friends” associated with the client. Accordingly, at step 712 clientapplication 119 may increase the relevancy score, which initially isequal to the baseline value of 0, by a second predefined amount. Forpurposes of this example, the second predefined amount for a partialdirect match—partial synonymous relationship is assumed to be 15. Thus,the relevancy score is increased by 15, such that the relevancy score isadjusted to 15.

Furthermore, as a result of iterative comparison, at step 714 clientapplication 119 may determine that no partial direct match—partialontological relationship exists. At step 718, client application 119 maydetermine that no sole partial direct match relationship exists. At step722, client application 119 may determine that no complete synonymousrelationship exists. At step 726, client application 119 may determinethat no partial synonymous—partial ontological relationship exists. Atstep 730, client application 119 may determine that no sole partialsynonymous relationship exists. At step 734, client application 119 maydetermine that no complete ontological relationship exists.

At step 738, client application 119 may determine that a sole partialontological relationship exists between actionable task “fixing car”associated with activity stream update 1323 of Participant A andactionable task “sailing schooner” associated with the client.Specifically, client application 119 may determine that no relationshipexists between action verb “fixing” of the actionable task associatedwith activity stream update 1323 and action verb “sailing” of theactionable task associated with the client. However, client maydetermine that an ontological relationship exists between the object“car” of the actionable task associated with activity stream update 1323and the object “schooner” of the actionable task associated with theclient. Such ontological relationship may be determined by consultingontology 161 including ontology tree 1100 as illustrated in FIG. 11.Accordingly, at step 740 client application 119 may increase therelevancy score by a ninth amount. For purposes of this example,magnitude of the ninth amount for a sole partial ontologicalrelationship is assumed to be 3 for one degree of separation, 2 for twodegrees of separation, and 1 for three degrees of separation. Clientapplication 119 may determine three degrees of separation between theobjects “car” and “schooner”, as there are three branches in ontologytree 1100 between node 1115 representing category “car” and node 1125representing category “schooner”. Thus, at step 740 client application119 may increase the relevancy score by a ninth amount of 1 based on thedetermined ontological relationship with three degrees of separation,such that the relevancy score is adjusted to 16.

Having calculated the relevancy score of 16 for Participant A accordingto the methods 600 and 700, client application 119 may adjust visibilitylevel of the profile of Participant A within social networking interface121 according to the method 800. For purposes of this example scenario,the first predefined threshold value according to the method 800 isassumed to be 10, and the second predefined threshold value is assumedto be 5. Moreover, for this example it is assumed that a participantprofile is to be increased one visibility level or decreased onevisibility level according to the method 800. Additionally, for thisexample it is assumed that adjusting visibility level of a participantprofile entails increasing or decreasing border color intensity aroundthe thumbnail image representing the participant in participantidentification section 905.

For this example scenario, at step 805 client application 119 maydetermine that the calculated relevancy score of 16 for Participant A isgreater than the first predefined value of 10. Thus, at step 810 clientapplication 119 may increase the visibility level of the profile ofParticipant A one visibility level. Specifically, client application 119may increase the degree of border color intensity around the thumbnailimage of Participant A in participant identification section 905 to onedegree higher than the current predefined degree. Illustratively, theborder color intensity around the thumbnail image for Participant A inparticipant identification section 905 of FIG. 13 is increased to adegree assumed to be one degree higher than the border color intensityaround the thumbnail image for Participant A in participantidentification section 905 of FIG. 9. Thus, as illustrated in FIG. 13,the prominence of the profile of Participant A has been increased basedon activity stream update 1323.

Furthermore, for purposes of this example, a predefined actionable taskthreshold value is assumed to be 12. Since the calculated relevancyscore of 16 exceeds the actionable task threshold value, clientapplication 119 may include a caption 1325 adjacent to the thumbnailimage for Participant A in participant identification section 905. Asillustrated in FIG. 13, caption 1325 includes natural language ofactivity stream update 1323 of Participant A. Accordingly, naturallanguage including the actionable tasks associated with activity streamupdate 1323 is prominently displayed in participant identificationsection 905, reflecting the relatively high relevance of activity streamupdate 1323.

According to the various embodiments described herein, prominence of aprofile of a participant in a social networking interface may beadjusted according to the relevance of an activity stream update of theparticipant. By adjusting a participant profile based on relevance ofupdates rather than mere timing or frequency of updates, a socialnetworking interface may display material more consistent with clientneeds or preferences.

While the foregoing description is directed to various embodiments, suchdescription is not intended to limit the scope of the invention. Allkinds of modifications made to the described embodiments and equivalentarrangements should fall within the protected scope of the invention.Hence, the scope of the invention should be explained most widelyaccording to the claims that follow in connection with the detaileddescription, and should cover all the possibly equivalent variations andequivalent arrangements. Accordingly, further embodiments may be devisedwithout departing from the basic scope of the invention.

What is claimed is:
 1. A system comprising: a processor; and a memorystoring an application program, which, when executed on the processor,performs an operation of adjusting prominence of a profile of aparticipant among a plurality of participants in a social networkinginterface of a client, the operation comprising: receiving an activitystream update of the participant; calculating a relevancy score based oncontent in the activity stream update of the participant, whereincalculating the relevancy score comprises: initializing the relevancyscore with a predefined baseline value; facilitating parsing of languagein the activity stream update of the participant to determine one ormore terms associated with the activity stream update of theparticipant; facilitating parsing of language associated with the clientto determine one or more terms associated with the client; and adjustingthe relevancy score by iteratively comparing each of the one or moreterms associated with the activity stream update of the participant witheach of the one or more terms associated with the client and byincreasing the relevancy score by a predefined amount upon determining arelationship between a term among the one or more terms associated withthe activity stream update of the participant and a term among the oneor more terms associated with the client; and adjusting a visibilitylevel of the profile of the participant in the social networkinginterface based upon the calculated relevancy score.
 2. The system ofclaim 1, wherein adjusting the visibility level of the profile of theparticipant comprises increasing the visibility level of the profile ofthe participant upon determining that the calculated relevancy score isgreater than or equal to a first predefined threshold value.
 3. Thesystem of claim 2, wherein adjusting the visibility level of the profileof the participant further comprises decreasing the visibility level ofthe profile of the participant upon determining that the calculatedrelevancy score is less than a second predefined threshold value.
 4. Thesystem of claim 1, wherein adjusting the visibility level of the profileof the participant comprises adjusting a visibility level of a thumbnailimage of the participant.
 5. The system of claim 4, wherein adjustingthe visibility level of the thumbnail image of the participant comprisesadjusting size of the thumbnail image to a predefined size differentfrom a current predefined size.
 6. The system of claim 1, whereinadjusting the visibility level of the profile of the participantcomprises adjusting a visibility level of attributes of a border arounda thumbnail image of the participant.
 7. The system of claim 6, whereinadjusting the visibility level of attributes of the border around thethumbnail image of the participant comprises adjusting degree of bordercolor intensity.
 8. The system of claim 6, wherein adjusting thevisibility level of attributes of the border around the thumbnail imageof the participant comprises adjusting border size.
 9. A systemcomprising: a processor; and a memory storing an application program,which, when executed on the processor, performs an operation ofadjusting prominence of a profile of a participant among a plurality ofparticipants in a social networking interface of a client, the operationcomprising: receiving an activity stream update of the participant;calculating a relevancy score based on content in the activity streamupdate of the participant, wherein calculating the relevancy scorecomprises: initializing the relevancy score with a predefined baselinevalue; determining one or more content types associated with theactivity stream update of the participant; determining one or morecontent types associated with the client; and adjusting the relevancyscore by iteratively comparing the one or more content types associatedwith the activity stream update of the participant and the one or morecontent types associated with the client and by increasing the relevancyscore by a predefined amount upon determining a match between a contenttype among the one or more content types associated with the activitystream update of the participant and a content type among the one ormore content types associated with the client; and adjusting avisibility level of the profile of the participant in the socialnetworking interface based upon the calculated relevancy score.
 10. Thesystem of claim 9, wherein adjusting the visibility level of the profileof the participant comprises increasing the visibility level of theprofile of the participant upon determining that the calculatedrelevancy score is greater than or equal to a first predefined thresholdvalue.
 11. The system of claim 10, wherein adjusting the visibilitylevel of the profile of the participant further comprises decreasing thevisibility level of the profile of the participant upon determining thatthe calculated relevancy score is less than a second predefinedthreshold value.
 12. The system of claim 9, wherein adjusting thevisibility level of the profile of the participant comprises adjusting avisibility level of a thumbnail image of the participant.
 13. The systemof claim 12, wherein adjusting the visibility level of the thumbnailimage of the participant comprises adjusting size of the thumbnail imageto a predefined size different from a current predefined size.
 14. Thesystem of claim 9, wherein adjusting the visibility level of the profileof the participant comprises adjusting a visibility level of attributesof a border around a thumbnail image of the participant.
 15. A systemcomprising: a processor; and a memory storing an application program,which, when executed on the processor, performs an operation ofadjusting prominence of a profile of a participant among a plurality ofparticipants in a social networking interface of a client, the operationcomprising: receiving an activity stream update of the participant;calculating a relevancy score based on content in the activity streamupdate of the participant, wherein calculating the relevancy scorecomprises: initializing the relevancy score with a predefined baselinevalue; facilitating parsing of language in the activity stream update ofthe participant to determine one or more actionable tasks associatedwith the activity stream update of the participant; facilitating parsingof language associated with the client to determine one or moreactionable tasks associated with the client; and adjusting the relevancyscore by iteratively comparing the one or more actionable tasksassociated with the activity stream update of the participant and theone or more actionable tasks associated with the client; adjusting avisibility level of the profile of the participant in the socialnetworking interface based upon the calculated relevancy score; and upondetermining that the calculated relevancy score exceeds an actionabletask threshold value, including natural language of the activity streamupdate of the participant in a caption adjacent to a thumbnail imageincluded in the profile of the participant.
 16. The system of claim 15,wherein adjusting the visibility level of the profile of the participantcomprises increasing the visibility level of the profile of theparticipant upon determining that the calculated relevancy score isgreater than or equal to a first predefined threshold value.
 17. Thesystem of claim 16, wherein adjusting the visibility level of theprofile of the participant further comprises decreasing the visibilitylevel of the profile of the participant upon determining that thecalculated relevancy score is less than a second predefined thresholdvalue.
 18. The system of claim 15, wherein adjusting the visibilitylevel of the profile of the participant comprises adjusting a visibilitylevel of the thumbnail image.
 19. The system of claim 18, whereinadjusting the visibility level of the thumbnail image comprisesadjusting size of the thumbnail image to a predefined size differentfrom a current predefined size.
 20. The system of claim 15, whereinadjusting the visibility level of the profile of the participantcomprises adjusting a visibility level of attributes of a border aroundthe thumbnail image.